package main

import "fmt"

func main() {
	fmt.Println("输入一个正整数：")
	var num int
	fmt.Scanf("%d", &num)
	printPyramid(num)
	printPyramidEmpty(num)
	test99(num)

}

// 打印金字塔(空心)
func printPyramidEmpty(level int) {
	//i 表示层数
	for i := 1; i <= level; i++ {

		//在打印前*前先打印空格
		for k := 0; k < level-i; k++ {
			fmt.Print(" ")
		}

		for j := 1; j <= 2*i-1; j++ {
			if j == 1 || j == 2*i-1 || i == level {
				fmt.Print("*")
			} else {
				fmt.Print(" ")
			}
		}
		fmt.Println()
	}

}

// 打印金字塔
func printPyramid(level int) {
	//i 表示层数
	for i := 1; i <= level; i++ {

		//在打印前*前先打印空格
		for k := 0; k < level-i; k++ {
			fmt.Print(" ")
		}

		for j := 1; j <= 2*i-1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}

}

// 打印九九乘法表
func test99(num int) {
	for num1 := 1; num1 <= num; num1++ {
		for num2 := 1; num2 <= num1; num2++ {
			fmt.Printf("%d*%d=%d ", num2, num1, num2*num1)
		}
		fmt.Println()
	}
}
